package com.leyou.job.task;

import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * 定时任务类
 */
@Slf4j
// @Component
public class CleanOrderTask1 {

    private int i = 1;

    /**
     * fixedDelay：固定延迟：执行
     *      等到上一次结束之后，再重新计算时间
     */
    @Scheduled(fixedDelay = 2000L)
    public  void cleanOrder1() throws InterruptedException {
        log.info("{}<======【乐优定时微服务1111111111111111】删除过期未支付的订单，并把库存还原！", i);
        if(i == 1){
            //Thread.sleep(10000L);
        }
        i++;
    }

    /**
     * fixedRate： 【固定频率】 定时执行，参数是多长时间
     *      这个如果在规定时间内没有执行完，会在下一次执行的时候，把积累的任务全部一次性执行
     *  如果线程池中只有一个线程：fixedRate  优先于   fixedDelay
     */
    @Scheduled(fixedRate = 2000L)
    public void cleanOrder2() throws InterruptedException {
        log.info("{}<======【乐优定时微服务2222222222222222】删除过期未支付的订单，并把库存还原！", i);
        if(i == 1){
            Thread.sleep(1500L);
        }
        i++;
    }
}
